Skip to content

[Pipe] Split OPC UA sink requests by advertised server limits - #18486

Open
Caideyipi wants to merge 4 commits into
apache:masterfrom
Caideyipi:fix/opcua-operation-limits-master
Open

[Pipe] Split OPC UA sink requests by advertised server limits#18486
Caideyipi wants to merge 4 commits into
apache:masterfrom
Caideyipi:fix/opcua-operation-limits-master

Conversation

@Caideyipi

@Caideyipi Caideyipi commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Read MaxNodesPerWrite and MaxNodesPerNodeManagement from connected OPC UA servers.
  • Split Write and AddNodes requests according to the advertised limits, including aggregated last-value transfers.
  • Keep the built-in IoTDB OPC UA server unchanged: its Pipe path updates UaNode objects directly in-process and does not issue OPC UA service requests, so these network operation limits do not apply.

Validation

  • IoTDBOpcUaClientTest
  • Targeted DataNode compilation and Spotless checks passed.
  • The built-in server-only experiment was reverted in a5f2ef8da9e; the original implementation remains available as b67c2656640 if a future external-client use case requires it.

Hotfix counterpart: https://gitlab.timecho.com/r-d/db/timechodb/-/merge_requests/6820

@Caideyipi Caideyipi changed the title [Pipe] Respect OPC UA server operation limits [Pipe] Respect OPC UA operation limits Aug 18, 2026
@Caideyipi Caideyipi changed the title [Pipe] Respect OPC UA operation limits [Pipe] Split OPC UA sink requests by advertised server limits Aug 18, 2026
@luoluoyuyu

Copy link
Copy Markdown
Member

Localize newly added log messages" body="The three newly added log messages are hard-coded English literals. This bypasses IoTDB's compile-time i18n mechanism, so the with-zh-locale build will still emit English for these messages. Please move the complete templates into the corresponding DataNodePipeMessages constants in both en and zh, preserving the {} placeholders, and reference those constants here."

@Caideyipi

Copy link
Copy Markdown
Collaborator Author

Applied in 6dd7263. The three OPC UA operation-limit log templates now live in DataNodePipeMessages for both en and zh, with the {} placeholders preserved, and IoTDBOpcUaClient references those constants. Verified with Spotless, IoTDBOpcUaClientTest (6 tests), and datanode test-compile under with-zh-locale. The default-locale full reactor compiled through all source modules; only distribution failed afterward because an external 97 MB snapshot download ended prematurely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants